home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr35 / fwho_100.zip / FINDWHO.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1993-06-20  |  3KB  |  217 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 1.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER001
  20.     Integer  INTEGER002
  21.     Integer  INTEGER003
  22.     Integer  INTEGER004
  23.     Integer  INTEGER005
  24.     Integer  INTEGER006
  25.     Integer  INTEGER007
  26.     String   STRING001
  27.     String   STRING002
  28.     String   STRING003
  29.     String   STRING004
  30.     String   STRING005
  31.     String   STRING006
  32.  
  33. ;------------------------------------------------------------------------------
  34.  
  35.     INTEGER001 = 0
  36.     INTEGER002 = 0
  37.     INTEGER003 = 0
  38.     INTEGER004 = 0
  39.     INTEGER007 = 0
  40.     STRING006 = TokenStr()
  41.     If (STRING006 == "") Then
  42.         DispFile PPEPath() + "WELCOME", 2 + 1 + 4
  43.     Else
  44.         STRING006 = Replace(STRING006, ";", " ")
  45.     Endif
  46.     RdUNet PcbNode()
  47.     WrUNet PcbNode(), UN_Stat(), UN_Name(), UN_City(), "Running " + PPEName(), ""
  48.     STRING004 = PCBDat()
  49.     If (Exist(STRING004)) Goto LABEL001
  50.     Log "WARNING! - Can't find " + STRING004, 0
  51.     PrintLn "WARNING - Can't find PCBOARD.DAT"
  52.     End
  53.     :LABEL001
  54.     STRING002 = ReadLine(STRING004, 1)
  55.     If (STRING002 <> "*** PCBoard Version 14.5 & 15.0 data file ***") Then
  56.         Log "WARNING! - Wrong version of PCBOARD.DAT", 0
  57.         PrintLn "WARNING! - Wrong version of PCBOARD.DAT"
  58.         End
  59.     Endif
  60.     STRING002 = ReadLine(STRING004, 46)
  61.     If (Exist(STRING002)) Goto LABEL002
  62.     Log "WARNING! - Can't find " + STRING002, 0
  63.     PrintLn "WARNING! - Can't find DOWNLOAD.TXT"
  64.     End
  65.     :LABEL002
  66.     STRING004 = STRING002
  67.     FOpen 1, STRING004, 0, 0
  68.     FGet 1, STRING002
  69.     STRING003 = STRING002
  70.     STRING003 = Replace(STRING003, ",", ";")
  71.     Tokenize STRING003
  72.     For INTEGER005 = 1 To 4
  73.         STRING003 = GetToken()
  74.     Next
  75.     STRING005 = STRING003
  76.     PrintLn " "
  77.     PrintLn "Data is available since ", STRING005
  78.     PrintLn " "
  79.     If (STRING006 == "") Then
  80.         PromptStr 70, STRING001, 20, Mask_Ascii(), 2 + 64
  81.     Else
  82.         STRING001 = STRING006
  83.     Endif
  84.     INTEGER006 = Len(STRING001)
  85.     If (INTEGER006 == 0) Then
  86.         End
  87.     Endif
  88.     Log "FINDWHO search for " + Upper(STRING001), 0
  89.     INTEGER005 = 0
  90.     StartDisp 2
  91.     :LABEL003
  92.     If (Ferr(1)) Goto LABEL004
  93.     INTEGER007 = InStr(Upper(STRING002), Upper(STRING001))
  94.     If (INTEGER007 <> 0) Then
  95.         Backup 79
  96.         Print Left(STRING002, INTEGER007 - 1)
  97.         Color 71
  98.         Print Mid(STRING002, INTEGER007, INTEGER006)
  99.         Color DefColor()
  100.         PrintLn Right(STRING002, Len(STRING002) - INTEGER007 + INTEGER006 - 1)
  101.         Inc INTEGER002
  102.         If (Mid(STRING002, 2, 1) == "U") Then
  103.             Inc INTEGER003
  104.         Else
  105.             Inc INTEGER004
  106.         Endif
  107.         INTEGER005 = 0
  108.     Else
  109.         Inc INTEGER005
  110.     Endif
  111.     Inc INTEGER001
  112.     If (Abort() == 1) Then
  113.         Goto LABEL004
  114.     Endif
  115.     If (INTEGER005 == 50) Then
  116.         Print "."
  117.         INTEGER005 = 0
  118.     Endif
  119.     FGet 1, STRING002
  120.     Goto LABEL003
  121.     :LABEL004
  122.     ResetDisp
  123.     PrintLn " "
  124.     PrintLn "    Total Records Checked: ", INTEGER001
  125.     PrintLn "     Total Mataches Found: ", INTEGER002
  126.     PrintLn "   Total Upload Transfers: ", INTEGER003
  127.     PrintLn " Total Download Transfers: ", INTEGER004
  128.     FClose 1
  129.     End
  130.  
  131. ;------------------------------------------------------------------------------
  132. ;
  133. ; Usage report (before postprocessing)
  134. ;
  135. ; ■ Statements used :
  136. ;
  137. ;    5       End
  138. ;    2       Color 
  139. ;    19      Goto 
  140. ;    23      Let 
  141. ;    3       Print 
  142. ;    12      PrintLn 
  143. ;    12      If 
  144. ;    1       DispFile 
  145. ;    1       FOpen 
  146. ;    1       FClose 
  147. ;    2       FGet 
  148. ;    1       ResetDisp
  149. ;    1       StartDisp 
  150. ;    4       Log 
  151. ;    1       PromptStr 
  152. ;    5       Inc 
  153. ;    1       Tokenize 
  154. ;    1       RdUNet 
  155. ;    1       WrUNet 
  156. ;    1       Backup 
  157. ;
  158. ;
  159. ; ■ Functions used :
  160. ;
  161. ;    10      +
  162. ;    3       -
  163. ;    6       ==
  164. ;    2       <>
  165. ;    1       <
  166. ;    1       <=
  167. ;    2       >=
  168. ;    12      !
  169. ;    2       &&
  170. ;    1       ||
  171. ;    2       Len(
  172. ;    3       Upper()
  173. ;    2       Mid()
  174. ;    1       Left()
  175. ;    1       Right()
  176. ;    1       Ferr()
  177. ;    1       InStr()
  178. ;    1       Abort()
  179. ;    2       Replace()
  180. ;    1       Mask_Ascii()
  181. ;    1       PCBDat()
  182. ;    1       PPEPath()
  183. ;    2       PcbNode()
  184. ;    2       ReadLine()
  185. ;    1       UN_Stat()
  186. ;    1       UN_Name()
  187. ;    1       UN_City()
  188. ;    1       GetToken()
  189. ;    2       Exist()
  190. ;    1       TokenStr()
  191. ;    1       DefColor()
  192. ;    1       PPEName()
  193. ;
  194. ;------------------------------------------------------------------------------
  195. ;
  196. ; Analysis flags : d
  197. ;
  198. ; d - Access PCBOARD.DAT ■ 2
  199. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  200. ;     for many PPE so they can find various informations on the system
  201. ;     (system paths, max number of lines in messages, ...) but it may also
  202. ;     be a way to gather vital informations.
  203. ;     ■ Search for : PCBDAT()
  204. ;
  205. ;------------------------------------------------------------------------------
  206. ;
  207. ; Postprocessing report
  208. ;
  209. ;    1       For/Next
  210. ;    0       While/EndWhile
  211. ;    8       If/Then or If/Then/Else
  212. ;    0       Select Case
  213. ;
  214. ;------------------------------------------------------------------------------
  215. ;                 AEGiS Corp - Break the routines, code against the machines!
  216. ;------------------------------------------------------------------------------
  217.